package cn.tedu.spring.day02am;

import org.springframework.beans.factory.FactoryBean;

/**
 * NetConnectionSpringFactory类
 * Spring工厂模式
 * 实现步骤：
 * 1.实现FactoryBean<返回值：类型>接口
 * 2.重写所有的方法：【面向对象：多态】
 */
public class NetConnectionSpringFactory implements FactoryBean<NetConnection> {
    //1.生成对象的方法: 返回网络连接类【NetConnection】三个方法
    public NetConnection getObject() throws Exception {
        //Spring工厂：封装NetConnection 封装3个方法
        NetConnection nc=new NetConnection();
        nc.load(); nc.ping(); nc.conn();
        return nc;
    }
    //2.<?>泛型：不限制返回类型：   ---Java两种数据类型    基本数据类型  引用类型
    //基本数据类型：整数型 int、long、short、byte  浮点型 double float  布尔型boolean   字符型 char
    //引用类型：创建对象 String     String str=new String();  String str="";
    //返回值：NetConnection.class
    //2.获取对象的方法:获取NetConnection.class对象
    public Class<?> getObjectType() {
        return NetConnection.class;
    }

  //3.获取对象是单例模式    Spring默认支持单例模式--返回一个对象
    public boolean isSingleton() {
        return true;
    }
}
